/******************** 
	作用:商品分类
	作者:蔡俊雄
	版本:V1.0
	时间:2015-08-07
********************/

$(function() {
	var tableId = "#dynamic-table"; //表格ID
	var addUrl = "/shop/admin/product/category/add"; //添加一级分类的网址
	var editUrl = "/shop/admin/product/category/update"; //编辑分类的网址
	var addSubUrl = "/shop/admin/product/category/add?type=sub"; //添加子分类的网址
	var deleteUrl = "/shop/admin/product/category/delete"; //删除的地址

	General.extendDialog(); //扩展对话框
	
	$(tableId).treetable({
		expandable: true,
		initialState:"expanded"
	});

	General.extendDialog(); //扩展对话框
	
	//-----------------物流运费中的运费模板操作-----------------
	$("input[name='link[]']").on("click", function(e) {
		this.select();
	});
	
	//-----------------添加一级分类-----------------
	//点击"添加一级分类"按钮
	$("#add").on("click", function(e) {
		General.stopEvent(e);
		var title="添加分类";
		var sort_order = $(this).attr("data-order");//获取分类的排序
		showAddDialog(title,sort_order);
	});
	
	/**
	 * 显示"添加一级分类"窗口
	 * @param {String} title 弹出窗口的标题
	 */
	function showAddDialog(title,sort_order){
		var url =Common.addUrlParameters(addUrl, {"sort_order": sort_order});
		General.showDialogWidthHeight(title,url,600,400);
	}
	
	//-----------------编辑分类-----------------
	//点击"编辑"按钮
	$("a[data-id=edit]:not([disabled])").on("click", function(e) {
		General.stopEvent(e);
		var title="编辑分类";
		var id = $(this).closest("tr").attr("data-id");//获取分类的id
		showEditDialog(title,id);
	});
	
	/**
	 * 显示"编辑分类"窗口
	 * @param {String} title 弹出窗口的标题
	 * @param {String} id 分类的id
	 */
	function showEditDialog(title,id){
		var url = Common.addUrlParameters(editUrl, {"id": id});
		General.showDialogWidthHeight(title,url,600,400);
	}
	
	//-----------------添加子分类-----------------
	//点击"添加子分类"按钮
	$("a[data-id=add]:not([disabled])").on("click", function(e) {
		General.stopEvent(e);
		var title="添加子分类";
		var id = $(this).closest("tr").attr("data-id");//获取分类的id
		var sort_order = $(this).closest("tr").attr("data-order");//获取分类的排序
		showAddSubDialog(title,id,sort_order);
	});
	
	/**
	 * 显示"添加子分类"窗口
	 * @param {String} title 弹出窗口的标题
	 * @param {String} id 分类的id
	 */
	function showAddSubDialog(title,id,sort_order){
		var url = Common.addUrlParameters(addSubUrl, {"parent_cid": id,"sort_order":sort_order});
		General.showDialogWidthHeight(title,url,600,400);
	}
	
	//-----------------删除-----------------
	//点击行内"删除"按钮
	$(tableId + ">tbody a[data-id=delete]:not([disabled])").on("click", function(e) {
		var tr = $(this).closest("tr");
		var id = tr.attr("data-id");
		General.confirm("您确定要删除该分类吗?", null, startDelete, null, id);
	});
	//开始删除
	function startDelete(ids) {
		General.showMask();
		if (typeof(ids) == "object") {
			ids = ids.join(",");
		}
		var options = {
			"id": ids
		};
		var url = deleteUrl;
		var data = {
			"id": ids
		};
		var tip = "正在删除";
		Common.ajaxPost(options, null, url, data, tip, completeDelete, failDelete);
	};
	//删除成功
	function completeDelete(options, data, status) {
		
		data=$.parseJSON(data);		
		
		if(data.success){
			alert(data.sub_msg);
			General.hideMask(); 
			General.refresh(); //刷新页面
		}else if(data.error){
			
			alert(data.sub_msg);
			General.hideMask(); 
			
		}
	};
	//删除失败
	function failDelete() {
		General.hideMask();
		General.alert("删除失败!");
	};
	
	/**
	 * 是否显示
	 */
	
	$('.parent').click(function(){
		var obj = $(this);
		var id = obj.closest("tr").attr("data-id");//获取分类的id
		var value = $(this).parent().find('input[type=hidden]').val();
		value = 1-value;
		$(this).parent().find('input[type=hidden]').val(value);
		$('.sub').each(function(){
			
			var parent_id = $(this).closest("tr").attr("data-tt-parent-id");//获取父级分类的id
			if(id == parent_id){
	            			
				$(this).prop('checked',obj.prop('checked'));
				var value = $(this).parent().find('input[type=hidden]').val();
				value = 1-value;
				$(this).parent().find('input[type=hidden]').val(value);
				
			}		
		});		
	});
	
	$('.sub').click(function(){
		
		var parent_id = $(this).closest("tr").attr("data-tt-parent-id");//获取父级分类的id
		var value = $(this).parent().find('input[type=hidden]').val();
		value = 1-value;
		$(this).parent().find('input[type=hidden]').val(value);
		
		if($(this).prop('checked')){
			
			$('.parent').each(function(){				
				var id=$(this).closest("tr").attr("data-id");//获取父级分类的id
				if(id==parent_id){
					$(this).prop('checked',true);
					$(this).parent().find('input[type=hidden]').val('1');
					}
			});
		}	
	});
	
});